package com.shiyi.shiyiaicodefather.service;

import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.service.IService;
import com.shiyi.shiyiaicodefather.model.dto.app.AppAddRequest;
import com.shiyi.shiyiaicodefather.model.dto.app.AppQueryRequest;
import com.shiyi.shiyiaicodefather.model.entity.App;
import com.shiyi.shiyiaicodefather.model.entity.User;
import com.shiyi.shiyiaicodefather.model.vo.AppVO;
import org.springframework.http.codec.ServerSentEvent;
import reactor.core.publisher.Flux;

import java.util.List;

/**
 * 应用 服务层。
 *
 * @author 十一
 */
public interface AppService extends IService<App> {

  AppVO getAppVO(App app);

  QueryWrapper getQueryWrapper(AppQueryRequest appQueryRequest);

  List<AppVO> getAppVOList(List<App> appList);

  Flux<String> chatToGenCode(Long appId, String message, User loginUser);

  String deployApp(Long appId, User loginUser);

  Long createApp(AppAddRequest appAddRequest,User loginUser);
}
